import java.io.*;
import java.util.*;
//
//public class Main {
//    private static final int MOD = 1_000_000_007;
//    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//    private static StringTokenizer st;
//
//
//
//    public static String next() throws IOException{
//        while(st==null||!st.hasMoreTokens()){
//            st=new StringTokenizer(br.readLine());
//        }
//        return st.nextToken();
//    }
//
//    public static int nextInt() throws IOException{
//        return Integer.parseInt(next());
//    }
//
//    public static long nextLong() throws IOException {
//        return Long.parseLong(next());
//    }
//
//    // 读取下一个双精度浮点数
//    public static double nextDouble() throws IOException {
//        return Double.parseDouble(next());
//    }
//
//    // 读取整行（保留换行符）
//    public static String nextLine() throws IOException {
//        return br.readLine();
//    }
//
//    public static void main(String[] args) throws IOException {
//        int t = nextInt();
//        while (t-- > 0) {
//            int n = nextInt();
//            int odd = 0, even = 0, sum = 0;
//            for (int i = 0; i < n; i++) {
//                int num = nextInt();
//                if (num % 2 == 0) {
//                    even++;
//                } else {
//                    odd++;
//                }
//                sum += num;
//            }
//
//            // 如果总和是奇数，直接返回0
//            if (sum % 2 != 0) {
//                System.out.println(0);
//                continue;
//            }
//
////             动态规划搞组合
////            int[][] comb = new int[odd + 1][odd + 1];
////            for (int i = 0; i <= odd; i++) {
////                comb[i][0] = 1; // C(i, 0) = 1
////                for (int j = 1; j <= i; j++) {
////                    comb[i][j] = (comb[i - 1][j - 1] + comb[i - 1][j]) % MOD;
////                }
////            }
//
//            // 计算选择偶数个奇数的方案数
//            long waysOdd = (odd == 0) ? 1 : pow(2, odd - 1, MOD);
//
//            // 计算任意选择偶数的方案数
//            long waysEven = pow(2, even, MOD);
//
//            // 最终答案
//            long ans = (waysOdd * waysEven) % MOD;
//            System.out.println(ans);
//        }
//    }
//
//    // 快速幂计算 (base^exp) % mod
//    private static long pow(int base, int exp, int mod) {
//        long result = 1;
//        long power = base;
//        while (exp > 0) {
//            if ((exp & 1) == 1) {
//                result = (result * power) % mod;
//            }
//            power = (power * power) % mod;
//            exp >>= 1;
//        }
//        return result;
//    }
//}



// 1:无需package
// 2: 类名必须Main, 不可修改
//
//public class Main {
//    private static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//    private static StringTokenizer st;
//
//
//    public static String next() throws IOException{
//        while(st==null||!st.hasMoreTokens()){
//            st=new StringTokenizer(br.readLine());
//        }
//        return st.nextToken();
//    }
//
//    public static int nextInt() throws IOException{
//        return Integer.parseInt(next());
//    }
//
//    public static long nextLong() throws IOException {
//        return Long.parseLong(next());
//    }
//
//    // 读取下一个双精度浮点数
//    public static double nextDouble() throws IOException {
//        return Double.parseDouble(next());
//    }
//
//    // 读取整行（保留换行符）
//    public static String nextLine() throws IOException {
//        return br.readLine();
//    }

//    public static void main(String[] args)throws IOException {
//        int x1=nextInt();
//        int y1=nextInt();
//        int x2=nextInt();
//        int y2=nextInt();
//
//        //上
//        int x3=nextInt();
//        int y3=nextInt();
//        int x4=nextInt();
//        int y4=nextInt();
//
//        long abox=(long)(x2-x1)*(y2-y1);
//        long bbox=(long)(x4-x3)*(y4-y3);
//
//        long sum=abox+bbox;
//
//
//        int overW=Math.max(Math.min(x2,x4)-Math.max(x1,x3),0);
//        int overH=Math.max(0,Math.min(y2,y4)-Math.max(y1,y3));
//
//        if(overW>0&&overH>0){
//            System.out.println(sum-overW*overH);
//        }else System.out.println(sum);
//
//
//
//
//
//    }
//
//
//}
//

import java.util.ArrayList;
import java.util.Scanner;
import java.util.*;
import java.io.*;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {

    private static BufferedReader br=new BufferedReader(new InputStreamReader(System.in) );
    private  static StringTokenizer st;

    public static String next() throws IOException {
        while(st==null || !st.hasMoreTokens()){
            st=new StringTokenizer(br.readLine());
        }

        return st.nextToken();
    }

    public static int nextInt() throws IOException{
        return Integer.parseInt(next());
    }

    public static double nextDouble() throws IOException{
        return Double.parseDouble(next());
    }

    public static long nextLong() throws IOException{
        return Long.parseLong(next());
    }

    public static String nextLine() throws IOException {
        return br.readLine();
    }

    public static boolean hasNextLine() throws IOException {
        return br.ready();
    }

    public static void main(String[] args) throws IOException{


        int n = nextInt();

        func(n);






    }


    private static void func(int n) throws IOException{





        int[] syn = new int[n];


        while (hasNextLine()) {
            String s = nextLine();
            String[] ss = s.split(" ");



            if (ss[0].equals("add")) {

                syn[0]++;


            } else if (ss[0].equals("query")) {
                int count = 0x3f3f3f3f;

                for (int i = 1; i < n; i++) {
                    count = Math.min(count, syn[i]);
                }

                System.out.println(count);

            } else if (ss[0].equals("sync")) {
                int followerId = Integer.parseInt(ss[1]);
                if (followerId >= 1 && followerId < n) {
                    if (syn[followerId] < syn[0]) {
                        syn[followerId]++;
                    }


                }


            }




        }
    }
}